Digital processor architecture is characterized by processor's instruction sets and registers. Existing processors have fixed set of instructions and static amount of registers.
Because processor's architecture is fixed and known to software developers the program viruses may be created to harm and compromise computer's usage. Vulnerability of computers to program viruses is a world problem with financial and operational losses.
Additionally, processors with unchangeable architectures may have excessive parts for a particular application program because some instructions and registers may not be involved by application program. Therefore processor's blocks associated with unused instructions and unused registers become idle. These idle blocks consume area of processor's chip and make processor slower in respect to otherwise similar processor with instruction decoder without unused instructions and register block without unused registers. Similar, excessive hardware may exist in particular application associated with unused interrupts, exceptions, direct memory access, input/output space.
Moreover, some bit portion of certain instruction may not be active for particular application program. For example, processors may reserve 24 bits in instruction's format for addressing despite the usage of processor in 16 address bits system. Not all memory range might be needed for a particular program. In existing processors with both Complex Instruction Set Computer (CISC) architecture and Reduced Instruction Set Computer (RISC) architecture unused bit fields are not eliminated from instruction's format.
Unused bit fields may lead to instructions being longer than it is necessary for simpler applications. Program with longer instructions requires more memory. Even one idle bit in instruction multiplied by number of occurrences of instruction in program may result in significant amount of occupied memory which is not used by program's algorithm.